Reliability and maintainability related software coupling metrics in C++ programs
نویسندگان
چکیده
This paper describes some difficulties that one encounters in the testing and maintenance of C++ programs, which may result in program unreliability. Inheritance and polymorphism are key concepts in objectoriented programming (OOP), and are essential for achieving reusability and extendibility, but they also make programs more difficult to understand. We have tried to show by arguments and by some empirical evidence that widely used complexity metrics like lines of code, cyclomatic complexity, and Software Science’s metrics may not be appropriate to measure the complexity of C++ programs and those written in other objectoriented languages, since they do not address concepts like inheritance and encapsulation, apart from having other weaknesses. Some measures using a notion from the world of functional decomposition coupling, are defined for C++ programs. Two of them CC and AMC and equivalent ones for the three widely used complexity metrics (for comparison) are computed for five C++ programs. Our preliminary results show that our coupling measures correlate better with difficulty of testing and maintenance than the three widely used complexity metrics.
منابع مشابه
A Quantitative Evaluation of Maintainability of Software Architecture Styles
Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...
متن کاملCoupling Metrics for Aspect-Oriented Programming: A Systematic Review of Maintainability Studies
Over the last few years, a growing number of studies have explored how Aspect-Oriented Programming (AOP) might impact software maintainability. Most of the studies use coupling metrics to assess the impact of AOP mechanisms on maintainability attributes such as design stability. Unfortunately, the use of such metrics is fraught with dangers, which have so far not been thoroughly investigated. T...
متن کاملSome Coupling Measures for C++ Programs
There is a great deal of "hype" about the objectoriented paradigm offering all the solutions to the problems of software engineering. Goals of software engineering like reliability, maintainability, and reusability are said to be more easily achieved using this paradigm, than with traditional ones based on functional decomposition. In order to monitor whether these goals are indeed being achiev...
متن کاملCoupling Metrics for Aspect Oriented Programming -A Systematic Review
Metrics are an important technique in quantifying desirable software and software development characteristics of aspectoriented software development (AOSD). Coupling is an internal software attribute that can be used to indicate the degree of system interdependence among the components of software. Coupling is thought to be a desirable goal in software construction, leading to better values for...
متن کاملAn Overview of Object Oriented
Object oriented metrics have become more important in software engineering field. They are used to measure software quality and to estimate the cost, to enhance the reliability, maintainability and effort of software projects. Object oriented metrics evaluate the complexity of OO program. Object oriented concepts are dominating the software industry and engineers need proper measuring parameter...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992